package com.gxa.service;

import com.gxa.common.R;
import com.gxa.entity.SysDepartment;

import java.util.List;

public interface SysDepartmentService {

    /**
     * 分页查询所有部门列表
     * @param currentPage 当前页
     * @param pageSize 每页大小
     * @return R
     */
    R selectAllDept(Integer currentPage, Integer pageSize);

    /**
     * 查询所有部门列表
     */
    R selectAllDept();

    /**
     * 根据部门id回显部门信息
     * @param id 部门ID
     * @return R
     */
    R getDepartmentById(Integer id);

    /**
     * 根据部门id修改部门信息
     * @param sysDepartment 部门实体
     * @return R
     */
    R updateDeptById(SysDepartment sysDepartment);

    /**
     * 添加所有部门
     * @param sysDepartment 部门实体
     * @return R
     */
    R addDepartment(SysDepartment sysDepartment);

    /**
     * 根据部门编号修改部门排序
     * @param id 部门id
     * @return 影响行数
     */
    R subSortById(Integer id);

    /**
     * 根据部门编号修改部门排序
     * @param id 部门id
     * @return 影响行数
     */
    R addSortById(Integer id);

    /**
     * 根据部门编号删除部门
     * @param depId 部门id
     * @return 影响行数
     */
    R delDeptById(Integer depId);


    /**
     * 根据部门名称模糊查询部门列表
     * @param currentPage 当前页
     * @param pageSize 每页大小
     * @param depName 部门名称
     * @return R
     */
    R findDepartmentByName(Integer currentPage, Integer pageSize,String depName);
}
